package es.uma.scgt.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import es.uma.scgt.dto.GraficaPorFechaDto;
import es.uma.scgt.modelo.Historico;
import es.uma.scgt.modelo.Peticion;
import es.uma.scgt.modelo.Tarea;
import es.uma.scgt.modelo.Usuario;

public interface TareaDao {

	List<Tarea> existeTareaPorPeticion(Integer pTrasnfT);

	public void nuevaTarea(Tarea tmpTarea);
	
	Tarea encuentraTareaxId(Integer tareaId);
	
	public void eliminarTarea(Integer tareaId);

	public List<Tarea>getTareaMiEquipo(List<Usuario> usuarios);

	public List<Tarea>getTareaDesarrolloMiEquipo(List<Usuario> usuarios);
	
	public List<Tarea>getTareaTestMiEquipo(List<Usuario> usuarios);
	
	public List<Tarea>getTareaFinalizadaMiEquipo(List<Usuario> usuarios);
	
	public List<Tarea>getTareaPendienteMiEquipo(List<Usuario> usuarios);
	
	public Peticion hayPeticiondeTarea(Integer tareaId);
	
	public Integer contarTareasConPeticion (Integer peticionId);
	
	public Integer contarTareasFConPeticion (Integer peticionId);
	
	public List<Tarea> getFechaFinHoy (List<Usuario> listausuarioId);
	
	public List<Tarea> getTareaFinHoy (List<Usuario> listausuarioId);
	
	public List<Tarea> getTareaFinSemana (List<Usuario> listausuarioId);
	
	public Map<String,GraficaPorFechaDto> getTareaParaGrafica (List<Usuario> listausuarioId);
	public List<Historico> getTareaTesSemana (List<Usuario> listausuarioId);
	
	public List<Historico> getTareaFinalSemana (List<Usuario> listausuarioId);
	public List<Tarea> getTareaEntreFechas (List<Usuario> listausuarioId, Date desde, Date hasta);

	public Map<String, GraficaPorFechaDto> getTareaParaGraficaIntervalo(List<Usuario> listaUsuarios, Date fDesdeDate, Date fHastaDate);
}


